Data protection is often performed to protect data stored in a storage system. A traditional form of data protection is data backup, in which a current version of data is copied to a backup storage location at periodic intervals (e.g., once a day, once a week, etc.). In case of failure or data error, data can be recovered back to a prior version of the data, such as to the most recent backup copy of data.
A traditional data backup scheme only allows data to be restored to versions of data backed up at points in time that are relatively far apart (e.g., 24 hours apart, one week apart, etc.). With such a traditional data backup scheme, it is not possible to restore data to a time point between data backups.
To address this issue, continuous data protection schemes have been proposed, in which every input/output (I/O) operation that modifies data, such as every write operation, is recorded to a backup storage location. Continuous data protection is also sometimes referred to as continuous backup or real-time backup. Recording each I/O operation that modifies data allows data to be restored to any point in a continuum of the recorded I/O operations, which enhances flexibility for data recovery operations. However, being able to revert to any specific point in a continuum of the recorded I/O operations may not be useful if data is being recovered to a point in the continuum associated with invalid data. Invalid data refers to data of relatively low quality or that is likely to be inconsistent. For example, recovering data to a time point in a period of high use (involving very high rates of data writes to a storage system) may likely lead to recovering data that is incomplete or of questionable quality.